Databases are often used to store information relating to large numbers of objects such as products, works of art, museum pieces, or books. Due to their size, it can be difficult to search or browse through the information stored in these databases. In many applications, it is particularly desirable to make browsing through these databases an intuitive or simple process, particularly for unsophisticated computer users or browsers. For instance, online shopping has gained popularity mainly due to its convenience. In particular, shopping can be quickly accomplished in the comfort of one's own home or office at any time, day or night. As a result, many retail stores have websites on the Internet that allow a user to select a product and purchase it online. However, if it is difficult for a typical consumer having limited computer savvy to find products on the website, the convenience of on-line shopping becomes severely diminished.
Three-dimensional graphical environments have been used to allow viewing of and navigation through information and databases (such as on a retail website) in an intuitive manner. Specifically, a three-dimensional graphical environment allows a user to intuitively navigate within a virtual space and hence easily locate and view items within the space. In order to create a three-dimensional graphical environment, it is typical to divide or partition the environment into a plurality of three-dimensional areas (e.g. rooms) that has the effect of logically dividing and displaying the objects within the environment. Essentially, partitioning the environment and distributing objects within the partitioned environment facilitates navigation through the environment.
Currently, algorithms for partitioning a three-dimensional graphical environment are designed to accommodate a statically partitioned environment in which the number of items that are placed within each partitioned area does not change. As a result, the partitions need only be determined once and consequently the complexity of the algorithm is of little or no concern. However, in the case of a dynamically partitioned environment, in which the environment may be continually repartitioned and objects may be changed in numbers and/or regrouped and repositioned, the partition algorithm needs to have a minimal impact on the total process of rendering the three-dimensional graphical environment.
The present invention is an apparatus and method of generating a three-dimensional graphical environment for viewing a plurality of objects in a database and more particularly, is an apparatus and method of partitioning the three-dimensional graphical environment in an aesthetically pleasing, logical, and simplified manner to further enhance browsability and navigation of the environment.